|
1400
|
Is it possible to define my values for sorting
with G2antt1 do
begin
(IUnknown(Columns.Add('C1')) as EXG2ANTTLib_TLB.Column).SortType := EXG2ANTTLib_TLB.SortUserDataString;
Columns.Add('C2');
with Items do
begin
h := AddItem('Cell 1');
CellData[OleVariant(h),OleVariant(0)] := '3.your extra data';
CellValue[OleVariant(h),OleVariant(1)] := 'SortValue=3';
h := AddItem('Cell 1.1');
CellData[OleVariant(h),OleVariant(0)] := '1.your extra data';
CellValue[OleVariant(h),OleVariant(1)] := ' SortValue=1';
h := AddItem('Cell 1.2');
CellData[OleVariant(h),OleVariant(0)] := '5.your extra data';
CellValue[OleVariant(h),OleVariant(1)] := ' SortValue=5';
h := AddItem('Cell 1.3');
CellData[OleVariant(h),OleVariant(0)] := '2.your extra data';
CellValue[OleVariant(h),OleVariant(1)] := ' SortValue=2';
end;
end
|
|
1399
|
I have multiple dropdown lists, that are depending on each other, that means that the values in dropdown list no. 2 is based on the users selection in dropdown list no 1. How can I do this
// EditOpen event - Occurs when the edit operation starts.
procedure TForm1.G2antt1EditOpen(ASender: TObject; );
begin
with G2antt1 do
begin
with Items do
begin
v := CellValue[OleVariant(FocusItem),OleVariant(0)];
c := CellCaption[OleVariant(FocusItem),OleVariant(0)];
end;
with Columns.Item[OleVariant(1)].Editor do
begin
ClearItems();
AddItem(v,c,Null);
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('DropDownList')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
AddItem(1,'First',Null);
AddItem(2,'Second',Null);
AddItem(3,'Third',Null);
end;
end;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
(IUnknown(Columns.Add('DropDownList-Related')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.DropDownListType;
with Items do
begin
CellValue[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(-1);
CellValue[OleVariant(AddItem(OleVariant(2))),OleVariant(1)] := OleVariant(-1);
CellValue[OleVariant(AddItem(OleVariant(3))),OleVariant(1)] := OleVariant(-1);
LockedItemCount[EXG2ANTTLib_TLB.exBottom] := 1;
h := LockedItem[EXG2ANTTLib_TLB.exBottom,0];
ItemDivider[h] := 0;
ItemDividerLineAlignment[h] := EXG2ANTTLib_TLB.DividerTop;
CellEditorVisible[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exEditorHidden;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exCaptionWordWrap;
CellValueFormat[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
CellValue[OleVariant(h),OleVariant(0)] := 'The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection ' +
'on the first column.';
end;
EndUpdate();
end
|
|
1398
|
Is it possible background color displayed when the mouse passes over an item
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
HotBackColor := RGB(0,0,128);
HotForeColor := RGB(255,255,255);
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
EndUpdate();
end
|
|
1397
|
Is it possible to magnify a specified date and apply a different background color

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
DrawLevelSeparator := EXG2ANTTLib_TLB.exLevelNoLine;
PaneWidth[False] := 64;
FirstVisibleDate := '11/23/2011';
LevelCount := 3;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
AllowInsideZoom := True;
InsideZooms.Add('11/29/2011').AllowCustomFormat := True;
with InsideZooms.Item['11/29/2011'] do
begin
Width := 68;
CustomFormat.BackColorChart := $e0e0e0;
end;
end;
with Items do
begin
hA := AddItem('Task A');
AddBar(hA,'Task','11/24/2011','11/26/2011','A',Null);
hB := AddItem('Task B');
AddBar(hB,'Task','11/28/2011','12/1/2011','B',Null);
AddLink('LinkAB',hA,'A',hB,'B');
Link['LinkAB',EXG2ANTTLib_TLB.exLinkStyle] := OleVariant(2);
Link['LinkAB',EXG2ANTTLib_TLB.exLinkWidth] := OleVariant(2);
end;
EndUpdate();
end
|
|
1396
|
Could you please tell me how to add multiple bars to the one line

with G2antt1 do
begin
BeginUpdate();
Chart.FirstVisibleDate := '1/1/2002';
Columns.Add('Task');
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2002','1/4/2002','A',Null);
AddBar(h,'Task','1/6/2002','1/10/2002','B',Null);
ItemBar[h,'A',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255);
AddLink('AB',h,'A',h,'B');
end;
EndUpdate();
end
|
|
1395
|
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
Chart.FirstVisibleDate := '1/1/2001';
with Items do
begin
h1 := AddItem('Task 1');
AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null);
h2 := AddItem('Task 2');
AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Null);
AddLink('L1',h1,'K1',h2,'K2');
Link['L1',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(0);
end;
EndUpdate();
Template := 'Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();';
end
|
|
1394
|
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
Chart.FirstVisibleDate := '1/1/2001';
with Items do
begin
h1 := AddItem('Task 1');
AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Null);
h2 := AddItem('Task 2');
AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Null);
AddLink('L1',h1,'K1',h2,'K2');
Link['L1',EXG2ANTTLib_TLB.exLinkStartPos] := OleVariant(0);
end;
EndUpdate();
with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
begin
PrintExt := (IUnknown(G2antt1.ExecuteTemplate('me')) as EXG2ANTTLib_TLB.G2antt);
Preview();
end;
end
|
|
1393
|
Is it possible to display the bar's captions or labels with a different font/size

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
DefaultItemHeight := 24;
with Chart do
begin
PaneWidth[False] := 64;
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
end;
with Items do
begin
h := AddItem('Default');
AddBar(h,'Task','1/2/2001','1/6/2001','','This is a the control''s font');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
h := AddItem('Smaller');
AddBar(h,'Task','1/2/2001','1/6/2001','','<font ;5>This is a the control''s font with a smaller size');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
h := AddItem('Larger');
AddBar(h,'Task','1/2/2001','1/6/2001','','<font ;15>This is a the control''s font with a larger size');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
h := AddItem('Tahoma 1');
AddBar(h,'Task','1/2/2001','1/6/2001','','<font Tahoma>This is using a Tahoma font');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
h := AddItem('Tahoma 2');
AddBar(h,'Task','1/2/2001','1/6/2001','','<font Tahoma;14>This is using a <b>Tahoma</b> font with a different size');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
end;
EndUpdate();
end
|
|
1392
|
How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)
with G2antt1 do
begin
BeginUpdate();
with ConditionalFormats.Add('1','K1') do
begin
BackColor := $ff;
ApplyTo := EXG2ANTTLib_TLB.FormatApplyToEnum($1);
end;
with ConditionalFormats.Add('1','K2') do
begin
BackColor := $ff;
ApplyTo := EXG2ANTTLib_TLB.FormatApplyToEnum($2);
end;
MarkSearchColumn := False;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
with Columns do
begin
Add('Column 1');
Add('Column 2');
Add('Column 3');
end;
with Items do
begin
AddItem(Null);
AddItem(Null);
AddItem(Null);
end;
EndUpdate();
end
|
|
1391
|
Is it possible to change the height for all items at once
with G2antt1 do
begin
BeginUpdate();
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Columns.Add('Items');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[0] := True;
end;
EndUpdate();
DefaultItemHeight := 12;
Items.ItemHeight[0] := 12;
end
|
|
1390
|
Is it possible to include the weekday when displaying the date

with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
Add('Tasks');
with (IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
FormatColumn := 'value + ''<font ;6> '' + (weekday(date(value)) case(0:''Sun'';1:''Mon'';2:''Tue'';3:''Wed'';4:''Thu'';5:''Fri'';6:''Sat''))';
end;
with (IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
FormatColumn := 'value + ''<font ;6> '' + (weekday(date(value)) case(0:''Sun'';1:''Mon'';2:''Tue'';3:''Wed'';4:''Thu'';5:''Fri'';6:''Sat''))';
end;
end;
with Chart do
begin
FirstVisibleDate := '9/20/2006';
AllowLinkBars := False;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
LevelCount := 2;
PaneWidth[False] := 256;
NonworkingDays := 0;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Task 1'),'Task','9/21/2006','9/24/2006',Null,Null);
AddBar(AddItem('Task 2'),'Task','9/22/2006','9/25/2006',Null,Null);
AddBar(AddItem('Task 3'),'Task','9/23/2006','9/26/2006',Null,Null);
end;
EndUpdate();
end
|
|
1389
|
I need my chart to display the end date with on day less. How can I do this (Method 1)

with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
Add('Tasks');
(IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
with (IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
FormatColumn := 'shortdate(date(value)-1)';
end;
end;
with Chart do
begin
FirstVisibleDate := '9/20/2006';
AllowLinkBars := False;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
LevelCount := 2;
PaneWidth[False] := 196;
NonworkingDays := 0;
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Task 1'),'Task','9/21/2006','9/24/2006',Null,Null);
AddBar(AddItem('Task 2'),'Task','9/22/2006','9/25/2006',Null,Null);
AddBar(AddItem('Task 3'),'Task','9/23/2006','9/26/2006',Null,Null);
end;
EndUpdate();
end
|
|
1388
|
Is it possible to display my custom time-units

with G2antt1 do
begin
with Chart do
begin
PaneWidth[False] := 0;
LevelCount := 2;
FirstVisibleDate := OleVariant(0);
NonworkingDays := 0;
with Level[0] do
begin
Unit := EXG2ANTTLib_TLB.exDay;
Count := 16;
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
Label := '<%i%>';
FormatLabel := '''Half '' + (1 + (value/16) mod 2)';
end;
with Level[1] do
begin
Label := '<%i%>';
FormatLabel := '1 + value mod 16';
ReplaceLabel[2] := '<font ;10><B>Y';
end;
AdjustLevelsToBase := True;
ScrollRange[EXG2ANTTLib_TLB.exStartDate] := OleVariant(0);
ScrollRange[EXG2ANTTLib_TLB.exEndDate] := OleVariant(31);
end;
end
|
|
1387
|
Is it possible to add new records and see them in the control's view using the DataSource

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
SelectItem[Item] := True;
EnsureVisibleItem(Item);
end;
Edit(OleVariant(0));
end
end;
// ButtonClick event - Occurs when user clicks on the cell's button.
procedure TForm1.G2antt1ButtonClick(ASender: TObject; Item : HITEM; ColIndex : Integer; Key : OleVariant);
begin
with G2antt1 do
begin
(IUnknown(DataSource) as ADODB_TLB.Recordset).AddNew(Null,Null);
end
end;
with G2antt1 do
begin
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
with rs.Fields do
begin
Append('Task',8,Null,Null,Null);
Append('Start',7,Null,Null,Null);
Append('End',7,Null,Null,Null);
end;
rs.Open(Null,Null,Null,Null,Null);
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
DetectAddNew := True;
DetectDelete := True;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
with Items do
begin
LockedItemCount[EXG2ANTTLib_TLB.exTop] := 1;
h := LockedItem[EXG2ANTTLib_TLB.exTop,0];
ItemDivider[h] := 0;
ItemHeight[h] := 22;
CellValue[OleVariant(h),OleVariant(0)] := 'AddNew';
CellHasButton[OleVariant(h),OleVariant(0)] := True;
CellHAlignment[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.CenterAlignment;
end;
end
|
|
1386
|
How can I limit the bars to scrolling range only
// CreateBar event - Fired when the user creates a new bar.
procedure TForm1.G2antt1CreateBar(ASender: TObject; Item : HITEM; DateStart : TDateTime; DateEnd : TDateTime);
begin
with G2antt1 do
begin
with Items do
begin
ItemBar[Item,'newbar',EXG2ANTTLib_TLB.exBarMinStart] := G2antt1.Chart.ScrollRange[EXG2ANTTLib_TLB.exMinDate];
ItemBar[Item,'newbar',EXG2ANTTLib_TLB.exBarMaxEnd] := G2antt1.Chart.ScrollRange[EXG2ANTTLib_TLB.exMaxDate];
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
LevelCount := 2;
PaneWidth[False] := 56;
ScrollRange[EXG2ANTTLib_TLB.exStartDate] := '1/1/2001';
ScrollRange[EXG2ANTTLib_TLB.exEndDate] := '1/15/2001';
FirstVisibleDate := '1/12/2001';
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
end;
with Items do
begin
AddItem('Task 1');
AddItem('Task 2');
AddItem('Task 3');
end;
EndUpdate();
end
|
|
1385
|
How do I get the handle of the last added item
with G2antt1 do
begin
Columns.Add('Def');
with Items do
begin
AddItem(OleVariant(1));
AddItem(OleVariant(2));
OutputDebugString( ItemByIndex[ItemCount] );
end;
end
|
|
1384
|
How can I set the charts date format to any other international Format then the US version. I would need "dd.mmm.yyyy" instead of "mmm.d.'yy"
with G2antt1 do
begin
with Chart do
begin
PaneWidth[False] := 0;
LevelCount := 2;
with Level[0] do
begin
Label := '<%dd%>.<%mmm%>.<%yyyy%>';
Unit := EXG2ANTTLib_TLB.exWeek;
Alignment := Integer(EXG2ANTTLib_TLB.exHOutside) Or Integer(EXG2ANTTLib_TLB.CenterAlignment);
end;
end;
end
|
|
1383
|
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

with G2antt1 do
begin
BeginUpdate();
SingleSel := False;
with Chart do
begin
LevelCount := 2;
AllowLinkBars := False;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
FirstVisibleDate := '12/24/2000';
HistogramVisible := True;
HistogramHeight := 64;
PaneWidth[False] := 128;
HistogramView := Integer(EXG2ANTTLib_TLB.exHistogramNoGrouping) Or Integer(EXG2ANTTLib_TLB.exHistogramLeafItems) Or Integer(EXG2ANTTLib_TLB.exHistogramUnlockedItems) Or Integer(EXG2ANTTLib_TLB.exHistogramSelectedItems);
with Bars.Item['Task'] do
begin
HistogramType := EXG2ANTTLib_TLB.exHistCumulative;
HistogramItems := 6;
HistogramPattern := Pattern;
HistogramCumulativeOriginalColorBars := EXG2ANTTLib_TLB.exKeepOriginalColor;
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsOffset;
end;
end;
Columns.Add('Column');
with Items do
begin
h := AddItem('Project');
ItemBold[h] := True;
SelectableItem[h] := False;
h1 := InsertItem(h,Null,'Item 1');
AddBar(h1,'Task','1/2/2001','1/4/2001',Null,Null);
h1 := InsertItem(h,Null,'Item 2');
AddBar(h1,'Task','1/3/2001','1/5/2001',Null,Null);
h1 := InsertItem(h,Null,'Item 3');
AddBar(h1,'Task','1/4/2001','1/6/2001',Null,Null);
AddBar(h1,'Task','1/1/2001','1/3/2001','green',Null);
ItemBar[h1,'green',EXG2ANTTLib_TLB.exBarColor] := OleVariant(65280);
AddBar(h1,'Task','1/8/2001','1/10/2001','red',Null);
ItemBar[h1,'red',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255);
ExpandItem[h] := True;
SelectAll();
end;
EndUpdate();
end
|
|
1382
|
How can I hide the values shown in the legend when cumulative histogram is displayed

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '1/1/2001';
HistogramVisible := True;
HistogramHeight := 64;
PaneWidth[False] := 128;
HistogramView := Integer(EXG2ANTTLib_TLB.exHistogramNoGrouping) Or Integer(EXG2ANTTLib_TLB.exHistogramLeafItems) Or Integer(EXG2ANTTLib_TLB.exHistogramUnlockedItems) Or Integer(EXG2ANTTLib_TLB.exHistogramCheckedItems);
with Bars.Item['Task'] do
begin
HistogramPattern := EXG2ANTTLib_TLB.exPatternSolid;
HistogramType := EXG2ANTTLib_TLB.exHistCumulative;
HistogramItems := 6;
HistogramRulerLinesColor := $80;
HistogramBorderColor := $1;
HistogramCumulativeShowLegend := 65535;
HistogramCumulativeOriginalColorBars := EXG2ANTTLib_TLB.exChangeColor;
end;
end;
with (IUnknown(Columns.Add('Column')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
end;
with Items do
begin
h := AddItem('Project 1');
AddBar(InsertItem(h,Null,'Item 1'),'Task','1/2/2001','1/4/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 2'),'Task','1/3/2001','1/5/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 3'),'Task','1/4/2001','1/6/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 4'),'Task','1/2/2001','1/8/2001',Null,Null);
CellState[OleVariant(ItemByIndex[1]),OleVariant(0)] := 1;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
|
1381
|
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

with G2antt1 do
begin
BeginUpdate();
SelBackColor := BackColor;
SelForeColor := ForeColor;
with Chart do
begin
FirstVisibleDate := '1/1/2001';
HistogramVisible := True;
HistogramHeight := 64;
PaneWidth[False] := 128;
HistogramView := Integer(EXG2ANTTLib_TLB.exHistogramNoGrouping) Or Integer(EXG2ANTTLib_TLB.exHistogramLeafItems) Or Integer(EXG2ANTTLib_TLB.exHistogramUnlockedItems) Or Integer(EXG2ANTTLib_TLB.exHistogramCheckedItems);
with Bars.Item['Task'] do
begin
Color := $808080;
HistogramType := EXG2ANTTLib_TLB.exHistCumulative;
HistogramItems := 6;
HistogramRulerLinesColor := $80;
HistogramBorderColor := $1;
HistogramCumulativeColors := 2;
HistogramCumulativeColor[0] := $ff0000;
HistogramCumulativeColor[1] := $ff0000;
HistogramCumulativeOriginalColorBars := EXG2ANTTLib_TLB.exChangeColor;
HistogramPattern := Pattern;
HistogramCumulativeShowLegend := 65535;
end;
end;
with (IUnknown(Columns.Add('Column')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
end;
with Items do
begin
h := AddItem('Project 1');
AddBar(InsertItem(h,Null,'Item 1'),'Task','1/2/2001','1/4/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 2'),'Task','1/3/2001','1/5/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 3'),'Task','1/4/2001','1/6/2001',Null,Null);
AddBar(InsertItem(h,Null,'Item 4'),'Task','1/2/2001','1/8/2001',Null,Null);
CellState[OleVariant(ItemByIndex[1]),OleVariant(0)] := 1;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
|
1380
|
Is it possible to show the non-working pattern over the bars

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingDaysColor := $0;
PaneWidth[False] := 40;
FirstVisibleDate := '6/20/2005';
HistogramVisible := True;
HistogramHeight := 64;
HistogramView := Integer(EXG2ANTTLib_TLB.exHistogramBackground) Or Integer(EXG2ANTTLib_TLB.exHistogramAllItems);
LevelCount := 2;
with Bars do
begin
with Add('Empty') do
begin
Color := $0;
Pattern := EXG2ANTTLib_TLB.exPatternFDiagonal;
Shape := EXG2ANTTLib_TLB.exShapeSolidFrameless;
end;
with Add('Task:Empty') do
begin
Shortcut := 'Task';
HistogramItems := -5;
HistogramCriticalValue := 3;
HistogramType := EXG2ANTTLib_TLB.exHistOverload;
HistogramPattern := Pattern;
Def[EXG2ANTTLib_TLB.exBarCaption] := '<%=%258%> working days bar';
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
Def[EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
end;
UnitWidthNonworking := -12;
Level[1].FormatLabel := 'weekday(dvalue) in (0,6) ? `` : value';
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','6/23/2005','6/29/2005','',Null);
AddBar(AddItem('Task B'),'Task','6/24/2005','6/28/2005','',Null);
end;
EndUpdate();
end
|
|
1379
|
I'm showing values from a ado recordset from sql 2005. When I try to edit a column with integers, it just skips back to the original numbers after pressing enter..., why
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task',CellValue[OleVariant(Item),OleVariant(2)],CellValue[OleVariant(Item),OleVariant(4)],Null,Null);
end;
end
end;
// Error event - Fired when an internal error occurs.
procedure TForm1.G2antt1Error(ASender: TObject; Error : Integer; Description : WideString);
begin
with G2antt1 do
begin
OutputDebugString( Error );
OutputDebugString( Description );
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '8/3/1994';
PaneWidth[False] := 256;
LevelCount := 2;
UnitScale := EXG2ANTTLib_TLB.exDay;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
end;
ColumnAutoResize := False;
ContinueColumnScroll := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',1,1,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
Items.AllowCellValueToItemBar := True;
Columns.Item[OleVariant(2)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Columns.Item[OleVariant(4)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
EndUpdate();
end
|
|
1378
|
Is it possible to reduce the non-working parts of the control

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 40;
FirstVisibleDate := '6/20/2005';
HistogramVisible := True;
HistogramHeight := 64;
HistogramView := EXG2ANTTLib_TLB.exHistogramAllItems;
LevelCount := 2;
with Bars.Item['Task'] do
begin
HistogramType := EXG2ANTTLib_TLB.exHistOverAllocation;
HistogramPattern := Pattern;
end;
UnitWidthNonworking := -8;
Level[1].FormatLabel := 'weekday(dvalue) in (0,6) ? `` : value';
end;
with Items do
begin
h := AddItem('Task A');
AddBar(h,'Task','6/23/2005','6/29/2005','','4 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(4);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
h := AddItem('Task B');
AddBar(h,'Task','6/28/2005','6/30/2005','','2 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(2);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
EndUpdate();
end
|
|
1377
|
I don't want to see the "schedule"/show "workload" in non-working days part of the histogram

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 40;
FirstVisibleDate := '6/20/2005';
HistogramVisible := True;
HistogramHeight := 64;
HistogramView := EXG2ANTTLib_TLB.exHistogramAllItems;
LevelCount := 2;
with Bars.Item['Task'] do
begin
HistogramType := EXG2ANTTLib_TLB.exHistOverAllocation;
HistogramPattern := Pattern;
end;
ShowNonworkingDates := False;
ShowNonworkingUnits := False;
end;
with Items do
begin
h := AddItem('Task A');
AddBar(h,'Task','6/23/2005','6/29/2005','','4 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(4);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
h := AddItem('Task B');
AddBar(h,'Task','6/28/2005','6/30/2005','','2 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(2);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
EndUpdate();
end
|
|
1376
|
The control shows, and handles non-working days PERFECT, but how is it possible to reflect this in the Histogram. I don't want to "schedule"/show "workload" in non-working days...

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 40;
FirstVisibleDate := '6/20/2005';
HistogramVisible := True;
HistogramHeight := 64;
HistogramView := EXG2ANTTLib_TLB.exHistogramAllItems;
LevelCount := 2;
with Bars.Item['Task'] do
begin
HistogramType := EXG2ANTTLib_TLB.exHistOverAllocation;
HistogramPattern := Pattern;
end;
end;
with Items do
begin
h := AddItem('Task A');
AddBar(h,'Task','6/23/2005','6/29/2005','','4 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(4);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
h := AddItem('Task B');
AddBar(h,'Task','6/28/2005','6/30/2005','','2 working days bar');
ItemBar[h,'',EXG2ANTTLib_TLB.exBarCanResize] := OleVariant(False);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarEffort] := OleVariant(2);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
EndUpdate();
end
|
|
1375
|
When I do select the button in the overview-zoom I want the scaling to change accordingly. Can I set different scales per selected zoom level

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
procedure TForm1.G2antt1OverviewZoom(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( Chart.UnitScale );
end
end;
with G2antt1 do
begin
with Chart do
begin
PaneWidth[False] := 0;
LevelCount := 2;
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
AllowOverviewZoom := EXG2ANTTLib_TLB.exAlwaysZoom;
Label[EXG2ANTTLib_TLB.exSecond] := '';
Label[EXG2ANTTLib_TLB.exYear] := '';
end;
end
|
|
1374
|
How do I display Icons instead of text in the overview zoom area

with G2antt1 do
begin
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with Chart do
begin
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
AllowOverviewZoom := EXG2ANTTLib_TLB.exAlwaysZoom;
Label[EXG2ANTTLib_TLB.exSecond] := '';
Label[EXG2ANTTLib_TLB.exYear] := '';
OutputDebugString( OverviewZoomCaption );
OverviewZoomCaption := 'Year|½Year|¼Year|Month|Third|<img>1</img>|Day|Hour|Min|Sec';
end;
end
|
|
1373
|
How do I get it to only display Min, Hour, Day, Week , Month, ie remove Sec and Year in the overview area
with G2antt1 do
begin
with Chart do
begin
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
AllowOverviewZoom := EXG2ANTTLib_TLB.exAlwaysZoom;
Label[EXG2ANTTLib_TLB.exSecond] := '';
Label[EXG2ANTTLib_TLB.exYear] := '';
end;
end
|
|
1372
|
Is it possible to show quarter hours markers

with G2antt1 do
begin
BeginUpdate();
GridLineColor := RGB(0,0,0);
VisualAppearance.Add(3,'gBFLBCJwBAEHhEJAEGg4BdMIQAAYAQGKIYBkAKBQAGaAoDDUNw5QwAAwjSKkEwsACEIrjKCRShyCYZRhGcTAFBMIhkGoSZKlCIRVDCKYJDbKACSFKkNQ7AabZBgOQJVg' +
'OKovThKcIybQAASJCKRY7nUIIJA+SoDSRAbqhYIgASnKqLJAkACIJJAaRjHQdJxGKKMQANBghCZseKhWgkKIJUxAdLTWAAMQuaCoZ5icRAca2fJ+XzfeBYDgmAYNQbDc' +
'JhHCMMwXDaJZBiGJ4dimI4rR7JIDzDJ8cxbEKTZ5meg5boGRZNTrMQA0fQ9MynK6vahfOi7DpuaZnWrcMb2fYNZwrGq0bxoW58BwmP5/XrkNa4XgcVgmAUBA');
HeaderHeight := 20;
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 0;
LevelCount := 2;
UnitScale := EXG2ANTTLib_TLB.exHour;
with Level[0] do
begin
Alignment := EXG2ANTTLib_TLB.exHOutside;
Label := '<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>';
DrawTickLines := EXG2ANTTLib_TLB.exLevelSolidLine;
end;
with Level[1] do
begin
Label := '<%hh%>:00';
BackColor := $3000000;
DrawTickLines := EXG2ANTTLib_TLB.exLevelSolidLine;
end;
DrawLevelSeparator := EXG2ANTTLib_TLB.exLevelSolidLine;
UnitWidth := 64;
ResizeUnitScale := EXG2ANTTLib_TLB.exMinute;
ResizeUnitCount := 15;
end;
EndUpdate();
end
|
|
1371
|
How can I ensure or always show the labels on the chart part, when scrolling the chart to left or right
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 48;
UnitScale := EXG2ANTTLib_TLB.exHour;
with Level[0] do
begin
Alignment := Integer(EXG2ANTTLib_TLB.exHOutside) Or Integer(EXG2ANTTLib_TLB.CenterAlignment);
Label := '<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>';
end;
Level[1].Label := '<%hh%>:00';
end;
EndUpdate();
end
|
|
1370
|
I associate the Start and End columns with bars, but some of them are not shown. What am I doing wrong
with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
Items.AllowCellValueToItemBar := True;
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/25/2000';
PaneWidth[False] := 128;
end;
with (IUnknown(Columns.Add('Start')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'K1';
end;
with (IUnknown(Columns.Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'K1';
end;
with Items do
begin
AddBar(AddItem(Null),'Task','1/1/2001','1/5/2001','K1',Null);
AddBar(AddItem(Null),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem(Null),'Task','1/3/2001','1/7/2001','????','????');
end;
EndUpdate();
end
|
|
1369
|
How can I implement OLE Drag and Drop operation
// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.G2antt1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
// Data.SetData("your data to drag")
with G2antt1 do
begin
AllowedEffects := 2;
end
end;
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
Columns.Add('Default');
with Items do
begin
AddItem('Item 1');
AddItem('Item 2');
AddItem('Item 3');
AddItem('Item 4');
AddItem('Item 5');
end;
OLEDropMode := EXG2ANTTLib_TLB.exOLEDropManual;
EndUpdate();
end
|
|
1368
|
I can not associate the bar's start and end properties with my start/end columns, only if the bar's key is empty or null. What can I do

// ButtonClick event - Occurs when user clicks on the cell's button.
procedure TForm1.G2antt1ButtonClick(ASender: TObject; Item : HITEM; ColIndex : Integer; Key : OleVariant);
begin
with G2antt1 do
begin
BeginUpdate();
with Columns do
begin
Item['Tasks'].Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'B';
Item['Start'].Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'B';
Item['End'].Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'B';
end;
with Items do
begin
CellValue[OleVariant(Item),OleVariant(1)] := 'B';
ItemBar[0,'B',EXG2ANTTLib_TLB.exBarColor] := OleVariant(0);
ItemBar[0,'A',EXG2ANTTLib_TLB.exBarColor] := OleVariant(16775408);
end;
EndUpdate();
end
end;
with G2antt1 do
begin
BeginUpdate();
with Columns do
begin
with (IUnknown(Add('Tasks')) as EXG2ANTTLib_TLB.Column) do
begin
Width := 32;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(3);
Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'A';
end;
with (IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'A';
Editor.EditType := EXG2ANTTLib_TLB.DateType;
end;
with (IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
Def[EXG2ANTTLib_TLB.exCellValueToItemBarKey] := 'A';
Editor.EditType := EXG2ANTTLib_TLB.DateType;
end;
end;
with Chart do
begin
FirstVisibleDate := '9/20/2006';
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
LevelCount := 2;
PaneWidth[False] := 196;
with Bars.Item['Task'] do
begin
Pattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStack);
Overlaid[EXG2ANTTLib_TLB.exOverlaidBarsTransparent] := OleVariant(80);
end;
end;
with Items do
begin
LockedItemCount[EXG2ANTTLib_TLB.exTop] := 1;
h := LockedItem[EXG2ANTTLib_TLB.exTop,0];
CellValue[OleVariant(h),OleVariant(0)] := 'Select';
CellHasButton[OleVariant(h),OleVariant(0)] := True;
CellMerge[OleVariant(h),OleVariant(1)] := OleVariant(2);
CellValue[OleVariant(h),OleVariant(1)] := 'A';
CellEditor[OleVariant(h),OleVariant(1)].EditType := EXG2ANTTLib_TLB.EditType;
end;
with Items do
begin
AllowCellValueToItemBar := True;
h := AddItem('Task 1');
AddBar(h,'Task','9/21/2006','9/24/2006','A','A');
AddBar(h,'Task','9/25/2006','9/28/2006','B','B');
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarColor] := OleVariant(16775408);
h := AddItem('Task 2');
AddBar(h,'Task','9/22/2006','9/25/2006','A','A');
AddBar(h,'Task','9/26/2006','9/29/2006','B','B');
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarColor] := OleVariant(16775408);
end;
EndUpdate();
end
|
|
1367
|
How can I determine the order of the events
// AddLink event - Occurs when the user links two bars using the mouse.
procedure TForm1.G2antt1AddLink(ASender: TObject; LinkKey : WideString);
begin
with G2antt1 do
begin
OutputDebugString( 'AddLink' );
OutputDebugString( LinkKey );
end
end;
// AfterExpandItem event - Fired after an item is expanded (collapsed).
procedure TForm1.G2antt1AfterExpandItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
OutputDebugString( 'AfterExpandItem' );
OutputDebugString( Item );
end
end;
// AllowLink event - Notifies at runtime when a link between two bars is possible.
procedure TForm1.G2antt1AllowLink(ASender: TObject; StartItem : HITEM; StartBarKey : OleVariant; EndItem : HITEM; EndBarKey : OleVariant; var LinkKey : OleVariant; var Cancel : WordBool);
begin
with G2antt1 do
begin
OutputDebugString( 'AllowLink' );
OutputDebugString( StartItem );
OutputDebugString( StartBarKey );
OutputDebugString( EndItem );
OutputDebugString( EndBarKey );
OutputDebugString( LinkKey );
end
end;
// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.G2antt1AnchorClick(ASender: TObject; AnchorID : WideString; Options : WideString);
begin
with G2antt1 do
begin
OutputDebugString( 'AnchorClick' );
OutputDebugString( AnchorID );
OutputDebugString( Options );
end
end;
// BarParentChange event - Occurs just before moving a bar from current item to another item.
procedure TForm1.G2antt1BarParentChange(ASender: TObject; Item : HITEM; Key : OleVariant; NewItem : HITEM; var Cancel : WordBool);
begin
with G2antt1 do
begin
OutputDebugString( 'BarParentChange' );
OutputDebugString( Item );
OutputDebugString( Key );
OutputDebugString( NewItem );
end
end;
// BarResize event - Occurs when a bar is moved or resized.
procedure TForm1.G2antt1BarResize(ASender: TObject; Item : HITEM; Key : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'BarResize' );
OutputDebugString( Item );
OutputDebugString( Key );
end
end;
// BarResizing event - Occurs when a bar is moving or resizing.
procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM; Key : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'BarResizing' );
OutputDebugString( Item );
OutputDebugString( Key );
end
end;
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.G2antt1BeforeExpandItem(ASender: TObject; Item : HITEM; var Cancel : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'BeforeExpandItem' );
OutputDebugString( Item );
end
end;
// ButtonClick event - Occurs when user clicks on the cell's button.
procedure TForm1.G2antt1ButtonClick(ASender: TObject; Item : HITEM; ColIndex : Integer; Key : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'ButtonClick' );
OutputDebugString( Item );
OutputDebugString( ColIndex );
OutputDebugString( Key );
end
end;
// CellImageClick event - Fired after the user clicks on the image's cell area.
procedure TForm1.G2antt1CellImageClick(ASender: TObject; Item : HITEM; ColIndex : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'CellImageClick' );
OutputDebugString( Item );
OutputDebugString( ColIndex );
end
end;
// CellStateChanged event - Fired after cell's state has been changed.
procedure TForm1.G2antt1CellStateChanged(ASender: TObject; Item : HITEM; ColIndex : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'CellStateChanged' );
OutputDebugString( Item );
OutputDebugString( ColIndex );
end
end;
// Change event - Occurs when the user changes the cell's content.
procedure TForm1.G2antt1Change(ASender: TObject; Item : HITEM; ColIndex : Integer; var NewValue : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'Change' );
OutputDebugString( Item );
OutputDebugString( ColIndex );
OutputDebugString( NewValue );
end
end;
// ChartEndChanging event - Occurs after the chart has been changed.
procedure TForm1.G2antt1ChartEndChanging(ASender: TObject; Operation : BarOperationEnum);
begin
with G2antt1 do
begin
OutputDebugString( 'ChartEndChanging' );
OutputDebugString( Operation );
end
end;
// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
procedure TForm1.G2antt1ChartSelectionChanged(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'ChartSelectionChanged' );
end
end;
// ChartStartChanging event - Occurs when the chart is about to be changed.
procedure TForm1.G2antt1ChartStartChanging(ASender: TObject; Operation : BarOperationEnum);
begin
with G2antt1 do
begin
OutputDebugString( 'ChartStartChanging' );
OutputDebugString( Operation );
end
end;
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
procedure TForm1.G2antt1Click(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'Click' );
end
end;
// ColumnClick event - Fired after the user clicks on column's header.
procedure TForm1.G2antt1ColumnClick(ASender: TObject; Column : IColumn);
begin
with G2antt1 do
begin
OutputDebugString( 'ColumnClick' );
end
end;
// CreateBar event - Fired when the user creates a new bar.
procedure TForm1.G2antt1CreateBar(ASender: TObject; Item : HITEM; DateStart : TDateTime; DateEnd : TDateTime);
begin
with G2antt1 do
begin
OutputDebugString( 'CreateBar' );
OutputDebugString( Item );
OutputDebugString( DateStart );
OutputDebugString( DateEnd );
end
end;
// DateChange event - Occurs when the first visible date is changed.
procedure TForm1.G2antt1DateChange(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'DateChange' );
end
end;
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
procedure TForm1.G2antt1DblClick(ASender: TObject; Shift : Smallint; X : Integer; Y : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'DblClick' );
OutputDebugString( Shift );
OutputDebugString( X );
OutputDebugString( Y );
Edit(Null);
end
end;
// Edit event - Occurs just before editing the focused cell.
procedure TForm1.G2antt1Edit(ASender: TObject; Item : HITEM; ColIndex : Integer; var Cancel : WordBool);
begin
with G2antt1 do
begin
OutputDebugString( 'Edit' );
OutputDebugString( Item );
OutputDebugString( ColIndex );
end
end;
// EditClose event - Occurs when the edit operation ends.
procedure TForm1.G2antt1EditClose(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'EditClose' );
end
end;
// EditOpen event - Occurs when the edit operation starts.
procedure TForm1.G2antt1EditOpen(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'EditOpen' );
end
end;
// FilterChange event - Occurs when the filter was changed.
procedure TForm1.G2antt1FilterChange(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'FilterChange' );
end
end;
// FilterChanging event - Notifies your application that the filter is about to change.
procedure TForm1.G2antt1FilterChanging(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'FilterChanging' );
end
end;
// FocusChanged event - Occurs when a cell gets the focus.
procedure TForm1.G2antt1FocusChanged(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'FocusChanged' );
end
end;
// InsideZoom event - Notifies your application that a date is about to be magnified.
procedure TForm1.G2antt1InsideZoom(ASender: TObject; DateTime : TDateTime);
begin
with G2antt1 do
begin
OutputDebugString( 'InsideZoom' );
OutputDebugString( DateTime );
end
end;
// KeyDown event - Occurs when the user presses a key while an object has the focus.
procedure TForm1.G2antt1KeyDown(ASender: TObject; var KeyCode : Smallint; Shift : Smallint);
begin
with G2antt1 do
begin
OutputDebugString( 'KeyDown' );
OutputDebugString( KeyCode );
OutputDebugString( Shift );
end
end;
// KeyPress event - Occurs when the user presses and releases an ANSI key.
procedure TForm1.G2antt1KeyPress(ASender: TObject; var KeyAscii : Smallint);
begin
with G2antt1 do
begin
OutputDebugString( 'KeyPress' );
OutputDebugString( KeyAscii );
end
end;
// KeyUp event - Occurs when the user releases a key while an object has the focus.
procedure TForm1.G2antt1KeyUp(ASender: TObject; var KeyCode : Smallint; Shift : Smallint);
begin
with G2antt1 do
begin
OutputDebugString( 'KeyUp' );
OutputDebugString( KeyCode );
OutputDebugString( Shift );
end
end;
// LayoutChanged event - Occurs when column's position or column's size is changed.
procedure TForm1.G2antt1LayoutChanged(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'LayoutChanged' );
end
end;
// MouseDown event - Occurs when the user presses a mouse button.
procedure TForm1.G2antt1MouseDown(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'MouseDown' );
OutputDebugString( Button );
OutputDebugString( Shift );
OutputDebugString( X );
OutputDebugString( Y );
end
end;
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
end;
// MouseUp event - Occurs when the user releases a mouse button.
procedure TForm1.G2antt1MouseUp(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'MouseUp' );
OutputDebugString( Button );
OutputDebugString( Shift );
OutputDebugString( X );
OutputDebugString( Y );
end
end;
// OffsetChanged event - Occurs when the scroll position has been changed.
procedure TForm1.G2antt1OffsetChanged(ASender: TObject; Horizontal : WordBool; NewVal : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'OffsetChanged' );
OutputDebugString( Horizontal );
OutputDebugString( NewVal );
end
end;
// OversizeChanged event - Occurs when the right range of the scroll has been changed.
procedure TForm1.G2antt1OversizeChanged(ASender: TObject; Horizontal : WordBool; NewVal : Integer);
begin
with G2antt1 do
begin
OutputDebugString( 'OversizeChanged' );
OutputDebugString( Horizontal );
OutputDebugString( NewVal );
end
end;
// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
procedure TForm1.G2antt1OverviewZoom(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'OverviewZoom' );
end
end;
// RClick event - Fired when right mouse button is clicked
procedure TForm1.G2antt1RClick(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'RClick' );
end
end;
// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
procedure TForm1.G2antt1ScrollButtonClick(ASender: TObject; ScrollBar : ScrollBarEnum; ScrollPart : ScrollPartEnum);
begin
with G2antt1 do
begin
OutputDebugString( 'ScrollButtonClick' );
OutputDebugString( ScrollBar );
OutputDebugString( ScrollPart );
end
end;
// SelectionChanged event - Fired after a new item has been selected.
procedure TForm1.G2antt1SelectionChanged(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'SelectionChanged' );
end
end;
// Sort event - Fired when the control sorts a column.
procedure TForm1.G2antt1Sort(ASender: TObject; );
begin
with G2antt1 do
begin
OutputDebugString( 'Sort' );
end
end;
with G2antt1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesHDash;
AutoEdit := False;
ExpandOnDblClick := False;
with Chart do
begin
AllowInsideZoom := True;
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
AllowOverviewZoom := EXG2ANTTLib_TLB.exAlwaysZoom;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := Integer(EXG2ANTTLib_TLB.exGridLinesVSolid) Or Integer(EXG2ANTTLib_TLB.exGridLinesHDash);
LevelCount := 2;
Level[0].DrawGridLines := True;
Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid;
UnitScale := EXG2ANTTLib_TLB.exDay;
Label[EXG2ANTTLib_TLB.exSecond] := '';
Label[EXG2ANTTLib_TLB.exMinute] := '';
Label[EXG2ANTTLib_TLB.exHour] := '';
end;
with Columns do
begin
with (IUnknown(Add('Column')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
Editor.EditType := EXG2ANTTLib_TLB.EditType;
end;
with (IUnknown(Add('Button')) as EXG2ANTTLib_TLB.Column) do
begin
AllowSizing := False;
Width := 18;
Def[EXG2ANTTLib_TLB.exCellHasButton] := OleVariant(True);
end;
end;
with Items do
begin
h := AddItem('parent');
CellImage[OleVariant(h),OleVariant(0)] := 1;
AddBar(h,'Task','1/2/2001','1/5/2001','A','<a>A</a>');
ItemBar[h,'A',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'A',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
ItemBar[h,'A',EXG2ANTTLib_TLB.exBarToolTip] := 'This is a bit of text that should be shown when cursor hovers the bar';
AddBar(h,'Task','1/8/2001','1/15/2001','B','<a>B</a>');
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
InsertItem(h,'','child');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
|
1366
|
How can I change the chart's horizontal grid lines
with G2antt1 do
begin
BeginUpdate();
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesHDash;
with Chart do
begin
PaneWidth[False] := 48;
FirstVisibleDate := '1/1/2001';
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := Integer(EXG2ANTTLib_TLB.exGridLinesVSolid) Or Integer(EXG2ANTTLib_TLB.exGridLinesHDash);
LevelCount := 2;
Level[0].DrawGridLines := True;
Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid;
end;
Columns.Add('Column');
with Items do
begin
h := AddItem('Item 1');
AddBar(h,'Task','1/2/2001','1/5/2001','A',Null);
AddBar(h,'Task','1/8/2001','1/15/2001','B',Null);
end;
EndUpdate();
end
|
|
1365
|
Is there any way to determine whether the ADO operations fails
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task',CellValue[OleVariant(Item),OleVariant(2)],CellValue[OleVariant(Item),OleVariant(4)],Null,Null);
end;
end
end;
// Error event - Fired when an internal error occurs.
procedure TForm1.G2antt1Error(ASender: TObject; Error : Integer; Description : WideString);
begin
with G2antt1 do
begin
OutputDebugString( Error );
OutputDebugString( Description );
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '8/3/1994';
PaneWidth[False] := 256;
LevelCount := 2;
UnitScale := EXG2ANTTLib_TLB.exDay;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
end;
ColumnAutoResize := False;
ContinueColumnScroll := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',1,1,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
Items.AllowCellValueToItemBar := True;
Columns.Item[OleVariant(2)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Columns.Item[OleVariant(4)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
EndUpdate();
end
|
|
1364
|
Is it possible to select a column instead sorting it
// ColumnClick event - Fired after the user clicks on column's header.
procedure TForm1.G2antt1ColumnClick(ASender: TObject; Column : IColumn);
begin
// Column.Selected = True
with G2antt1 do
begin
BeginUpdate();
Columns.Item[OleVariant(0)].Selected := False;
Columns.Item[OleVariant(1)].Selected := False;
Items.SelectAll();
EndUpdate();
end
end;
with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
ShowFocusRect := False;
SingleSel := False;
FullRowSelect := EXG2ANTTLib_TLB.exRectSel;
SortOnClick := EXG2ANTTLib_TLB.exNoSort;
with Columns do
begin
Add('Column1');
Add('Column2');
end;
with Items do
begin
CellValue[OleVariant(AddItem('One')),OleVariant(1)] := 'Three';
CellValue[OleVariant(AddItem('Two')),OleVariant(1)] := 'Four';
SelectAll();
end;
EndUpdate();
end
|
|
1363
|
I am using the exRectSel, and clicking the first column, has no effect, instead if I click other it works as it should
with G2antt1 do
begin
BeginUpdate();
SearchColumnIndex := -1;
FullRowSelect := EXG2ANTTLib_TLB.exRectSel;
ShowFocusRect := False;
MarkSearchColumn := False;
with Columns do
begin
Add('Column1');
Add('Column2');
end;
with Items do
begin
CellValue[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2);
CellValue[OleVariant(AddItem(OleVariant(3))),OleVariant(1)] := OleVariant(4);
CellValue[OleVariant(AddItem(OleVariant(5))),OleVariant(1)] := OleVariant(6);
end;
EndUpdate();
end
|
|
1362
|
Is it possible to display empty strings for 0 values
with G2antt1 do
begin
with (IUnknown(Columns.Add('Currency')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := 'dbl(value) ? currency(dbl(value)) : ``';
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
Numeric := EXG2ANTTLib_TLB.exFloat;
end;
end;
with Items do
begin
AddItem(OleVariant(1.23));
AddItem(OleVariant(2.34));
AddItem(OleVariant(0));
AddItem(OleVariant(10000.99));
end;
end
|
|
1361
|
Is it possible to display empty strings for 0 values
with G2antt1 do
begin
Columns.Add('Number');
(IUnknown(Columns.Add('Currency')) as EXG2ANTTLib_TLB.Column).ComputedField := '%0 ? currency(%0) : ``';
with Items do
begin
AddItem(OleVariant(1.23));
AddItem(OleVariant(2.34));
AddItem(OleVariant(0));
AddItem(OleVariant(10000.99));
end;
end
|
|
1360
|
How can I hide a date from the chart view, when I display hours instead days

with G2antt1 do
begin
BeginUpdate();
HeaderHeight := 32;
with Chart do
begin
FirstVisibleDate := '6/8/2011';
AdjustLevelsToBase := True;
PaneWidth[False] := 0;
LevelCount := 2;
AllowInsideZoom := True;
with Level[0] do
begin
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
Label := '<b><%d%>-<%mmm%>-<%yyyy%>';
Unit := EXG2ANTTLib_TLB.exDay;
end;
with Level[1] do
begin
Label := '<%h%>';
Count := 8;
Unit := EXG2ANTTLib_TLB.exHour;
FormatLabel := 'date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : ''Shift <b>1</b><br>23/20''; 8 : ''Shift <b>2</b><br>38/30'' ; 16 : ''S' +
'hift <b>3</b><br>24/24'' ) ) ; #06/09/2011# : (int(value) case ( 0 : ''Shift <b>1</b><br>15/20''; 8 : ''Shift <b>2</b><br>30/32'' ; 1' +
'6 : ''Shift <b>3</b><br>26/24'' ) ) )';
end;
UnitWidth := 64;
NonworkingDays := 0;
AllowInsideZoom := True;
DefaultInsideZoomFormat.InsideUnit := EXG2ANTTLib_TLB.exMinute;
AllowResizeInsideZoom := False;
InsideZoomOnDblClick := False;
with InsideZooms do
begin
SplitBaseLevel := False;
DefaultWidth := 0;
end;
with InsideZooms do
begin
Add('6/9/2011 8:00:00 AM');
Add('6/9/2011 4:00:00 PM');
end;
end;
EndUpdate();
end
|
|
1359
|
I’ve created a skin (EBN) for the bars of my chart, with rounded top corners. The problem, is that these rounded corners are applied also at beginning and the end of the non working units. Is it possible to show a different picture/skin for the non-working part of the bars

with G2antt1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
VisualAppearance.Add(2,'c:\exontrol\images\pushed.ebn');
Columns.Add('Task');
Chart.PaneWidth[False] := 128;
with Chart.Bars do
begin
Item['Task'].Color := $1000000;
Item['Split'].Color := $2000000;
Add('Task:Split').Shortcut := 'TS';
end;
Chart.FirstVisibleDate := '1/1/2001';
with Items do
begin
AddBar(AddItem('Task'),'TS','1/2/2001','1/16/2001',Null,Null);
end;
EndUpdate();
end
|
|
1358
|
How do I display the names of the tasks on bars but not in the middle of the bar (left or right)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
FirstVisibleDate := '12/27/2000';
PaneWidth[False] := 128;
with Bars.Item['Task'] do
begin
Pattern := EXG2ANTTLib_TLB.exPatternDot;
Height := 15;
end;
end;
with Items do
begin
h := AddItem('Task 1');
AddBar(h,'Task','1/3/2001','1/8/2001','K1','<b>to do</b> ');
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(2);
h := AddItem('Task 2');
AddBar(h,'Task','1/3/2001','1/8/2001','K2','<b>to do</b>');
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
h := AddItem('Task 3');
AddBar(h,'Task','1/3/2001','1/8/2001','K1',' <b>to do</b>');
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(0);
h := AddItem('Task 4');
AddBar(h,'Task','1/3/2001','1/8/2001','K2','<b>to do</b>');
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(16);
end;
EndUpdate();
end
|
|
1357
|
How can I get the list of items as they are displayed
with G2antt1 do
begin
BeginUpdate();
BackColorAlternate := RGB(240,240,240);
Columns.Add('Names');
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
end;
Columns.Item[OleVariant(0)].SortOrder := EXG2ANTTLib_TLB.SortAscending;
EndUpdate();
OutputDebugString( GetItems(OleVariant(1)) );
end
|
|
1356
|
How can I disable the left and right arrows to move to next cell while editing
with G2antt1 do
begin
var_Editor := (IUnknown(Columns.Add('Edit')) as EXG2ANTTLib_TLB.Column).Editor;
with var_Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
Option[EXG2ANTTLib_TLB.exLeftArrow] := OleVariant(0);
Option[EXG2ANTTLib_TLB.exRightArrow] := OleVariant(0);
end;
with Items do
begin
AddItem('Cell 1');
AddItem('Cell 2');
AddItem('Cell 3');
end;
end
|
|
1355
|
Is it possible to define a bar that is treated as a non-working hour so user can move it at runtime

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
PaneWidth[False] := 48;
AllowNonworkingBars := True;
Bars.Add('Task:Split').Shortcut := 'Task';
UnitScale := EXG2ANTTLib_TLB.exHour;
Level[1].Label := '<font ;4><%hh%>';
UnitWidth := 12;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingDays := 0;
end;
Columns.Add('Tasks');
with Items do
begin
h := AddItem('Machine');
ItemNonworkingUnits[h,OleVariant(False)] := '0';
AddBar(h,'','1/1/2001 9:00:00 AM','1/1/2001 11:00:00 AM','A','pause');
ItemBar[h,'A',EXG2ANTTLib_TLB.exBarTreatAsNonworking] := OleVariant(True);
AddBar(h,'Task','1/1/2001 12:00:00 PM','1/1/2001 5:00:00 PM','Z',Null);
ItemBar[h,'Z',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
EndUpdate();
end
|
|
1354
|
Is it possible to customize the chart's header so I can display shift and other values

with G2antt1 do
begin
BeginUpdate();
HeaderHeight := 32;
with Chart do
begin
FirstVisibleDate := '6/8/2011';
AdjustLevelsToBase := True;
PaneWidth[False] := 0;
LevelCount := 2;
with Level[0] do
begin
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
Label := '<b><%d%> - <%mmmm%> - <%yyyy%>';
Unit := EXG2ANTTLib_TLB.exDay;
end;
with Level[1] do
begin
Label := '<%h%>';
Count := 8;
Unit := EXG2ANTTLib_TLB.exHour;
FormatLabel := 'date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : ''Shift <b>1</b><br>23/20''; 8 : ''Shift <b>2</b><br>38/30'' ; 16 : ''S' +
'hift <b>3</b><br>24/24'' ) ) ; #06/09/2011# : (int(value) case ( 0 : ''Shift <b>1</b><br>15/20''; 8 : ''Shift <b>2</b><br>30/32'' ; 1' +
'6 : ''Shift <b>3</b><br>26/24'' ) ) )';
end;
UnitWidth := 64;
NonworkingDays := 0;
end;
EndUpdate();
end
|
|
1353
|
How can I change both start and end dates of the bar
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 64;
FirstVisibleDate := '6/19/2005';
end;
with Items do
begin
h := AddItem('Test');
AddBar(h,'Task','6/22/2005','6/27/2005','t1',Null);
AddBar(h,ItemBar[h,'t1',EXG2ANTTLib_TLB.exBarName],'6/21/2005','6/22/2005','t1',Null);
end;
EndUpdate();
end
|
|
1352
|
Is it possible to add new rows, as I type like in Excel
// EditClose event - Occurs when the edit operation ends.
procedure TForm1.G2antt1EditClose(ASender: TObject; );
begin
with G2antt1 do
begin
Items.AddItem('');
end
end;
with G2antt1 do
begin
BeginUpdate();
AutoEdit := True;
(IUnknown(Columns.Add('Default')) as EXG2ANTTLib_TLB.Column).Editor.EditType := EXG2ANTTLib_TLB.EditType;
FullRowSelect := EXG2ANTTLib_TLB.exColumnSel;
Items.AddItem('');
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
ScrollBars := EXG2ANTTLib_TLB.exDisableBoth;
EndUpdate();
end
|
|
1351
|
How do I load bars from my table/database
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task',CellValue[OleVariant(Item),OleVariant(2)],CellValue[OleVariant(Item),OleVariant(4)],Null,Null);
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '8/3/1994';
PaneWidth[False] := 256;
LevelCount := 2;
UnitScale := EXG2ANTTLib_TLB.exDay;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAllVisible;
end;
ColumnAutoResize := False;
ContinueColumnScroll := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
Items.AllowCellValueToItemBar := True;
Columns.Item[OleVariant(2)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Columns.Item[OleVariant(4)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
EndUpdate();
end
|
|
1350
|
Is posible to reduce the size of the picture to be shown in the bar's caption

with G2antt1 do
begin
BeginUpdate();
HTMLPicture['pic1'] := 'c:\exontrol\images\zipdisk.gif';
Columns.Add('Task');
ScrollBySingleLine := True;
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 78;
end;
with Items do
begin
h := AddItem('Default-Size');
ItemHeight[h] := 48;
AddBar(h,'Task','1/2/2001','1/6/2001','K1','<img>pic1</img>');
h := AddItem('Custom-Size');
AddBar(h,'Task','1/2/2001','1/6/2001','K2','<img>pic1:18</img>');
end;
EndUpdate();
end
|
|
1349
|
Is posible to reduce the size of the picture to be shown in the column's caption
with G2antt1 do
begin
BeginUpdate();
HTMLPicture['pic1'] := 'c:\exontrol\images\zipdisk.gif';
HeaderHeight := 48;
(IUnknown(Columns.Add('DefaultSize')) as EXG2ANTTLib_TLB.Column).HTMLCaption := 'Default-Size <img>pic1</img> Picture';
(IUnknown(Columns.Add('CustomSize')) as EXG2ANTTLib_TLB.Column).HTMLCaption := 'Custom-Size <img>pic1:16</img> Picture';
EndUpdate();
end
|
|
1348
|
Is it possible to display the selected dates using a solid color instead vertical lines

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2008';
MarkTodayColor := BackColor;
LevelCount := 2;
MarkSelectDateColor := $7fcbc0ff;
SelectLevel := 1;
SelectDate['1/8/2008'] := True;
SelectDate['1/9/2008'] := True;
SelectDate['1/10/2008'] := True;
end;
DefaultItemHeight := 72;
Columns.Add('Default');
with Items do
begin
AddBar(AddItem(''),'','1/7/2008','1/12/2008','','<b>MarkSelectDateColor(32)</b><br>should be <font ;11><i>0x7F000000 + RGB(rr,gg,bb)</i></font><br> or in the format as: <font ;1' +
'1><i>0x7FBBGGRR</i></font>, <br>where BB is the hexa value for Blue, <br>GG for grean and so on.');
end;
EndUpdate();
end
|
|
1347
|
How can I show the cells using a different background color based on the condition I have
with G2antt1 do
begin
BeginUpdate();
SelBackMode := EXG2ANTTLib_TLB.exTransparent;
ShowFocusRect := False;
with ConditionalFormats do
begin
with Add('dbl(%1)-dbl(%0) = 1',Null) do
begin
BackColor := $ff;
ApplyTo := EXG2ANTTLib_TLB.FormatApplyToEnum($1);
end;
with Add('dbl(%0)-dbl(%1) = 3',Null) do
begin
BackColor := $ffff;
ApplyTo := EXG2ANTTLib_TLB.exFormatToColumns;
end;
with Add('dbl(%1)-dbl(%0) = 4',Null) do
begin
ForeColor := $808080;
Bold := True;
ApplyTo := EXG2ANTTLib_TLB.exFormatToItems;
end;
end;
with Columns do
begin
(IUnknown(Add('C1')) as EXG2ANTTLib_TLB.Column).Width := 8;
(IUnknown(Add('C2')) as EXG2ANTTLib_TLB.Column).Width := 8;
Add('');
end;
Chart.PaneWidth[True] := 0;
with Items do
begin
CellValue[OleVariant(AddItem(OleVariant(2))),OleVariant(1)] := OleVariant(3);
CellValue[OleVariant(AddItem(OleVariant(5))),OleVariant(1)] := OleVariant(2);
CellValue[OleVariant(AddItem(OleVariant(5))),OleVariant(1)] := OleVariant(6);
CellValue[OleVariant(AddItem(OleVariant(2))),OleVariant(1)] := OleVariant(6);
end;
EndUpdate();
end
|
|
1346
|
How can I specify the frame's color for all Task bars

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 128;
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(255);
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','1/2/2001','1/5/2001','K1',Null);
AddBar(AddItem('Task 2'),'Task','1/2/2001','1/5/2001','K2',Null);
AddBar(AddItem('Task 3'),'Task','1/2/2001','1/5/2001','K3',Null);
end;
EndUpdate();
end
|
|
1345
|
Is it possible to change the bar's frame color

with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 25;
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 128;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
NonworkingDays := 0;
Bars.Item['Task'].Height := 15;
end;
with Items do
begin
h := AddItem('Default');
AddBar(h,'Task','1/2/2001','1/5/2001','K1',Null);
h := AddItem('Red-Frame');
AddBar(h,'Task','1/3/2001','1/6/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(255);
h := AddItem('Green-ThickFrame');
AddBar(h,'Task','1/4/2001','1/7/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarPattern] := OleVariant(4099);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(32768);
h := AddItem('Red-ThickFrame/Shadow');
AddBar(h,'Task','1/5/2001','1/8/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarPattern] := OleVariant(12291);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(255);
end;
EndUpdate();
end
|
|
1344
|
I need to customize the labels on the chart. Is it possible

with G2antt1 do
begin
BeginUpdate();
HeaderHeight := 32;
with Chart do
begin
FirstVisibleDate := '7/1/2011';
AdjustLevelsToBase := True;
PaneWidth[False] := 0;
LevelCount := 2;
with Level[0] do
begin
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
Label := '<b><%d%> - <%mmmm%> - <%yyyy%>';
Unit := EXG2ANTTLib_TLB.exDay;
end;
with Level[1] do
begin
Label := '<%h%>';
Count := 8;
Unit := EXG2ANTTLib_TLB.exHour;
FormatLabel := 'int(value) case ( 0 : ''Shift <b>1</b><br><font ;11>'' + yearday(dvalue) + ''</font>/365 '' ; 8 : ''Shift <b>2</b><br>'' + weekday(dva' +
'lue) + ''/20''; 16 : ''Shift <b>3</b><br>'' + (weekday(dvalue) case ( 0 : ''12/22''; 1 : ''12/23''; 2 : ''2/3''; 3 : ''12/13''; 4 : ''22/34'' ' +
'; 5 : ''102-<fgcolor=FF0000><b>31</b></bgcolor>''; 6 : ''1/1'' ) ) ) ';
end;
UnitWidth := 64;
NonworkingDays := 0;
end;
EndUpdate();
end
|
|
1343
|
Is it possible to show a frame around the bar

with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 25;
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAEGg4BOUMQAAYAQGKIYBkAKBQAGaAoDDYMgzQwAAxDELMEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIyAJIcaw0GSEZwgOQZBi' +
'OEYnDANkIYJDSIYHTZIUzTJAdGSVJKNKAoKCaEgORo5SpNUghBDYKQTJyeagkaaRVCWLplRCNIwWNJdVwjEaQaaiarKNqKNpSViAEqSdKEZRLOyRZyiKQMEreY4EUDQc' +
'xUPYMNYaAC6AAparpbwCFpSYpRND3TaEE4jSLKAA0HD6QqebIDDJaFq6PbVXSTOLPNhgPQcWxeVJBXjLExUALGSYLC6nKayHZcHACKK5VbVW6ZZDdNy/BLQeD4QANG4r' +
'iuNJriMV4dgWVgHh+ZpgCeEIQEQJIgGkMYdA6JwjC0VAAmaJgQgmPp4lCWgSCiaB+DKIYIjqQpllMf6JgYAoAmASAWAaAZggQDJ/gKYJIDYDoDmECBGAOBBhEgVgUgSY' +
'RoGYGYGCGKB2BCBwhmiBgLggIgoHoJIJGGKIeCiBYiiiLgXgCIpohoMIMGKGJODSCwghiZg6g6Y5InYPh/lAECAg');
Add(2,'CP:1 2 2 -2 -2');
Add(3,'CP:1 -5 -5 5 5');
Add(4,'XP:Window 19 1');
Add(5,'XP:TreeView 2 1');
end;
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 128;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
end;
with Items do
begin
h := AddItem('Default');
AddBar(h,'Task','1/2/2001','1/5/2001','K1',Null);
h := AddItem('Red-Frame');
AddBar(h,'Task','1/3/2001','1/6/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(255);
h := AddItem('Green-ThickFrame');
AddBar(h,'Task','1/4/2001','1/7/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarPattern] := OleVariant(4099);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(32768);
h := AddItem('Red-ThickFrame/Shadow');
AddBar(h,'Task','1/4/2001','1/7/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarPattern] := OleVariant(12291);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(255);
h := AddItem('EBN-Frame-Border');
AddBar(h,'Task','1/5/2001','1/9/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(16777216);
h := AddItem('EBN-Inside Frame');
AddBar(h,'Task','1/9/2001','1/13/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(33554432);
h := AddItem('EBN-Outside Frame');
AddBar(h,'Task','1/15/2001','1/18/2001','K4',Null);
ItemBar[h,'K4',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(50331648);
h := AddItem('EBN-XP Close Button');
AddBar(h,'Task','1/15/2001','1/18/2001','K5',Null);
ItemBar[h,'K5',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(67108864);
h := AddItem('EBN-XP TreeView Glyph');
AddBar(h,'Task','1/15/2001','1/18/2001','K6',Null);
ItemBar[h,'K6',EXG2ANTTLib_TLB.exBarFrameColor] := OleVariant(83886080);
end;
EndUpdate();
end
|
|
1342
|
Currently your control, provides customization up to Year,Month,Day,Hours,etc. I would like to add Shifts in a day. Shortly, I need to customize the chart's header. Is it possible

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/1/2011';
AdjustLevelsToBase := True;
PaneWidth[False] := 0;
LevelCount := 2;
with Level[0] do
begin
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
Label := '<b><%d%> - <%mmmm%> - <%yyyy%>';
Unit := EXG2ANTTLib_TLB.exDay;
end;
with Level[1] do
begin
Label := '<%h%>';
Count := 8;
Unit := EXG2ANTTLib_TLB.exHour;
ReplaceLabel[0] := ' Shift 1';
ReplaceLabel[8] := ' Shift 2';
ReplaceLabel[16] := ' Shift 3';
end;
UnitWidth := 48;
NonworkingDays := 0;
end;
EndUpdate();
end
|
|
1341
|
The exbartootip shows dates after you moved or resized the bar. My question is during the move or resizing of bar(you click on bar and drag it,during that time) , can we display the new dates simultaneously so we will know where we want to move or resize the bar to

with G2antt1 do
begin
Columns.Add('Task');
with Chart do
begin
PaneWidth[False] := 64;
FirstVisibleDate := '1/1/2001';
DrawDateTicker := True;
DateTickerLabel := '<%mmm%> <%d%><br><b><%yyyy%>';
end;
with Items do
begin
h := AddItem('Tasks A');
AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null);
AddBar(h,'Task','1/5/2001','1/9/2001','K2',Null);
SelectableItem[AddItem(Null)] := False;
h := AddItem('Tasks B');
AddBar(h,'Task','1/3/2001','1/5/2001','K1',Null);
AddBar(h,'Task','1/8/2001','1/11/2001','K2',Null);
end;
end
|
|
1340
|
Is it possible to assign a tooltip automatically to all bars, so it can display the start and end, without specifying the IexBarToolTip for each bar
with G2antt1 do
begin
Columns.Add('Task');
with Chart do
begin
PaneWidth[False] := 64;
FirstVisibleDate := '1/1/2001';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%9 + ''/'' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>';
end;
with Items do
begin
h := AddItem('Tasks A');
AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null);
AddBar(h,'Task','1/5/2001','1/9/2001','K2',Null);
h := AddItem('Tasks B');
AddBar(h,'Task','1/3/2001','1/5/2001','K1',Null);
AddBar(h,'Task','1/8/2001','1/11/2001','K2',Null);
end;
end
|
|
1339
|
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column
with G2antt1 do
begin
BeginUpdate();
with ConditionalFormats.Add('1',Null) do
begin
Bold := True;
ForeColor := $ff;
ApplyTo := EXG2ANTTLib_TLB.FormatApplyToEnum($1);
end;
Columns.Add('C1');
with (IUnknown(Columns.Add('C2')) as EXG2ANTTLib_TLB.Column) do
begin
HeaderBold := True;
HTMLCaption := '<fgcolor=FF0000>C2';
end;
with Items do
begin
CellValue[OleVariant(AddItem(OleVariant(10))),OleVariant(1)] := OleVariant(11);
CellValue[OleVariant(AddItem(OleVariant(12))),OleVariant(1)] := OleVariant(13);
end;
EndUpdate();
end
|
|
1338
|
How can I remove a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
procedure TForm1.G2antt1Click(ASender: TObject; );
begin
with G2antt1 do
begin
Chart.RemoveTimeZone('Z1');
end
end;
with G2antt1 do
begin
with Chart do
begin
PaneWidth[False] := 18;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
MarkTimeZone('Z1','1/4/2010','1/8/2010',OleVariant(16744544),Null);
end;
end
|
|
1337
|
How can I filter the check-boxes (method 2)
with G2antt1 do
begin
with (IUnknown(Columns.Add('Check')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.CheckValueType;
Option[EXG2ANTTLib_TLB.exCheckValue2] := OleVariant(1);
end;
DisplayFilterButton := True;
DisplayFilterPattern := False;
CustomFilter := 'checked||-1|||unchecked||0';
end;
with Items do
begin
AddItem(OleVariant(True));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
end;
end
|
|
1336
|
How can I filter the check-boxes (method 1)
with G2antt1 do
begin
with (IUnknown(Columns.Add('Check')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.CheckValueType;
Option[EXG2ANTTLib_TLB.exCheckValue2] := OleVariant(1);
end;
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterType := EXG2ANTTLib_TLB.exCheck;
end;
with Items do
begin
AddItem(OleVariant(True));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
AddItem(OleVariant(True));
AddItem(OleVariant(False));
end;
end
|
|
1335
|
How can add a button to control

// ButtonClick event - Occurs when user clicks on the cell's button.
procedure TForm1.G2antt1ButtonClick(ASender: TObject; Item : HITEM; ColIndex : Integer; Key : OleVariant);
begin
with G2antt1 do
begin
OutputDebugString( 'ButtonClick' );
OutputDebugString( Items.CellCaption[OleVariant(Item),OleVariant(ColIndex)] );
OutputDebugString( Key );
end
end;
with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 22;
HeaderHeight := 22;
Appearance := EXG2ANTTLib_TLB.None2;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
ScrollBySingleLine := False;
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
HTMLPicture['pic1'] := 'c:\exontrol\images\auction.gif';
Chart.PaneWidth[True] := 0;
with Columns do
begin
with (IUnknown(Add('Type')) as EXG2ANTTLib_TLB.Column) do
begin
Width := 48;
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
end;
with (IUnknown(Add('Appearance')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
HeaderAlignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
end;
with Items do
begin
h := AddItem('Items.<b>CellHasButton</b> property');
CellValue[OleVariant(h),OleVariant(1)] := 'Button <b>1</b>';
CellHasButton[OleVariant(h),OleVariant(1)] := True;
h := AddItem('Items.<b>CellButtonAutoWidth</b> property');
CellValue[OleVariant(h),OleVariant(1)] := ' Button <b>2</b> ';
CellHasButton[OleVariant(h),OleVariant(1)] := True;
CellButtonAutoWidth[OleVariant(h),OleVariant(1)] := True;
h := AddItem('Items.<b>CellHasButton</b> property');
CellValue[OleVariant(h),OleVariant(1)] := ' <img>2</img>Button <b>3</b> ';
CellHasButton[OleVariant(h),OleVariant(1)] := True;
CellButtonAutoWidth[OleVariant(h),OleVariant(1)] := True;
h := AddItem('Items.<b>CellHasButton</b> property');
ItemHeight[h] := 32;
CellValue[OleVariant(h),OleVariant(1)] := ' <img>2</img>Button <b>4</b> <img>pic1</img> ';
CellHasButton[OleVariant(h),OleVariant(1)] := True;
CellButtonAutoWidth[OleVariant(h),OleVariant(1)] := True;
h := AddItem('Items.<b>CellHasButton</b> in splitted cells');
CellValue[OleVariant(h),OleVariant(1)] := ' Button <b>5.1</b> ';
CellHasButton[OleVariant(h),OleVariant(1)] := True;
CellButtonAutoWidth[OleVariant(h),OleVariant(1)] := True;
s := SplitCell[OleVariant(h),OleVariant(1)];
CellValue[OleVariant(0),OleVariant(s)] := ' Button <b>5.2</b> ';
CellHasButton[OleVariant(0),OleVariant(s)] := True;
CellButtonAutoWidth[OleVariant(0),OleVariant(s)] := True;
h := AddItem('Column.<b>Editor</b>, Items.<b>CellEditor</b>');
CellValue[OleVariant(h),OleVariant(1)] := 'Visible when clicking the cell';
with CellEditor[OleVariant(h),OleVariant(1)] do
begin
EditType := EXG2ANTTLib_TLB.EditType;
AddButton('B1',OleVariant(1),OleVariant(0),'This is a bit of text that''s shown when the cursor hovers the button B1',Null,Null);
AddButton('B3',OleVariant(2),OleVariant(1),'This is a bit of text that''s shown when the cursor hovers the button B3',Null,Null);
AddButton('B4',OleVariant(1),OleVariant(1),'This is a bit of text that''s shown when the cursor hovers the button B4',Null,Null);
ButtonWidth := 24;
end;
h := AddItem('Column.<b>Editor</b>, Items.<b>CellEditor</b>');
CellValue[OleVariant(h),OleVariant(1)] := OleVariant(3);
with CellEditor[OleVariant(h),OleVariant(1)] do
begin
EditType := EXG2ANTTLib_TLB.CheckListType;
AddItem(1,'Flag 1',Null);
AddItem(2,'Flag 2',Null);
AddItem(4,'Flag 4',Null);
AddItem(8,'Flag 8',Null);
AddButton('C1',OleVariant(1),OleVariant(0),'This is a bit of text that''s shown when the cursor hovers the button C1',Null,Null);
AddButton('C3',OleVariant(2),OleVariant(0),'This is a bit of text that''s shown when the cursor hovers the button C2',Null,Null);
AddButton('C4',OleVariant(1),OleVariant(0),'This is a bit of text that''s shown when the cursor hovers the button C3',Null,Null);
ButtonWidth := 24;
end;
end;
EndUpdate();
end
|
|
1334
|
Is it posible to store additional values against each item, cell, bar, link, such as custom values such string / numbers etc
with G2antt1 do
begin
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 96;
end;
(IUnknown(Columns.Add('Column')) as EXG2ANTTLib_TLB.Column).Data := 'Extra_Data_Column';
with Items do
begin
h := AddItem('Item 1');
ItemData[h] := 'Extra_Data_Item 1';
CellData[OleVariant(h),OleVariant(0)] := 'Extra_Data_Item 1_Cell_0';
AddBar(h,'Task','1/2/2001','1/4/2001','B1',Null);
ItemBar[h,'B1',EXG2ANTTLib_TLB.exBarData] := 'Extra_B1_Data';
h := AddItem('Item 2');
ItemData[h] := 'Extra_Data_Item 2';
AddBar(h,'Task','1/6/2001','1/10/2001','B2',Null);
ItemBar[h,'B2',EXG2ANTTLib_TLB.exBarData] := 'Extra_B2_Data';
AddLink('L1',FindItem['Item 1',OleVariant(0),Null],'B1',FindItem['Item 2',OleVariant(0),Null],'B2');
Link['L1',EXG2ANTTLib_TLB.exLinkUserData] := 'Extra_Link_Data';
end;
end
|
|
1333
|
How do I set the parent item to show the total number of days for its children and also the minimum and maximum dates for its children

with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
Indent := 11;
HasLines := EXG2ANTTLib_TLB.exSolidLine;
Items.AllowCellValueToItemBar := True;
with Columns do
begin
Add('Tasks');
(IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
(IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
(IUnknown(Add('Duration')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(513);
end;
with Chart do
begin
ShowNonworkingDates := False;
FirstVisibleDate := '9/20/2006';
AllowLinkBars := False;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
LevelCount := 2;
PaneWidth[False] := 220;
end;
with Items do
begin
h := AddItem('Project');
AddBar(h,'Summary','9/21/2006','10/3/2006',Null,Null);
h1 := InsertItem(h,Null,'Task 1');
AddBar(h1,'Task','9/21/2006','9/24/2006',Null,Null);
h2 := InsertItem(h,Null,'Task 2');
AddBar(h2,'Task','9/24/2006','9/28/2006',Null,Null);
h3 := InsertItem(h,Null,'Task 3');
AddBar(h3,'Task','9/28/2006','10/3/2006',Null,Null);
DefineSummaryBars(h,'',h1,'');
DefineSummaryBars(h,'',h2,'');
DefineSummaryBars(h,'',h3,'');
ExpandItem[h] := True;
ItemBold[h] := True;
end;
EndUpdate();
end
|
|
1332
|
Is it possible to specify the distance between 2 bars to be at least 2 working days

// BarResizing event - Occurs when a bar is moving or resizing.
procedure TForm1.G2antt1BarResizing(ASender: TObject; Item : HITEM; Key : OleVariant);
begin
with G2antt1 do
begin
Items.SchedulePDM(Item,OleVariant(Key));
end
end;
with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 24;
AntiAliasing := True;
Columns.Add('Task');
with Chart do
begin
LevelCount := 2;
with Bars.Add('Task:Split') do
begin
Shortcut := 'Task';
Color := $0;
Height := 17;
Pattern := EXG2ANTTLib_TLB.exPatternFrameShadow;
end;
FirstVisibleDate := '1/3/2001';
PaneWidth[False] := 48;
LinksWidth := 2;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
AllowLinkBars := False;
FirstWeekDay := EXG2ANTTLib_TLB.exMonday;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
end;
with Items do
begin
h1 := AddItem('Task 1');
AddBar(h1,'Task','1/4/2001','1/6/2001','K1',Null);
ItemBar[h1,'K1',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
h2 := AddItem('Task 2');
AddBar(h2,'Task','1/2/2001','1/5/2001','K2',Null);
ItemBar[h2,'K2',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
AddLink('L1',h1,'K1',h2,'K2');
Link['L1',EXG2ANTTLib_TLB.exLinkShowRound] := OleVariant(-1);
Link['L1',EXG2ANTTLib_TLB.exLinkColor] := OleVariant(8421504);
h3 := AddItem('Task 3');
AddBar(h3,'Task','1/2/2001','1/6/2001','K3',Null);
ItemBar[h3,'K3',EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
AddLink('L2',h2,'K2',h3,'K3');
Link['L2',EXG2ANTTLib_TLB.exLinkText] := '<br><br><br><br>This link <u>delays</u> the bars<br>with <b>2</b> working days';
Link['L2',EXG2ANTTLib_TLB.exLinkPDMWorkingDelay] := OleVariant(2);
Link['L2',EXG2ANTTLib_TLB.exLinkShowRound] := OleVariant(-1);
SchedulePDM(0,'K1');
end;
EndUpdate();
end
|
|
1331
|
The item is not getting selected when clicking the cell's checkbox. What should I do
// CellStateChanged event - Fired after cell's state has been changed.
procedure TForm1.G2antt1CellStateChanged(ASender: TObject; Item : HITEM; ColIndex : Integer);
begin
with G2antt1 do
begin
Items.SelectItem[Item] := True;
end
end;
with G2antt1 do
begin
(IUnknown(Columns.Add('Check')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
with Items do
begin
AddItem(OleVariant(0));
AddItem(OleVariant(1));
AddItem(OleVariant(2));
AddItem(OleVariant(3));
end;
end
|
|
1330
|
How can I add a summary item as a child or subitem of another one

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
PaneWidth[False] := 96;
FirstVisibleDate := '1/1/2011';
LevelCount := 2;
end;
Columns.Add('Default');
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with Items do
begin
hSummary := AddItem('Project');
AddBar(hSummary,'Summary','1/1/2011','1/1/2011','Sum',Null);
hChild := InsertItem(hSummary,OleVariant(0),'Task 1');
AddBar(hChild,'Task','1/2/2011','1/4/2011','Task1',Null);
DefineSummaryBars(hSummary,'Sum',hChild,'Task1');
hChild := InsertItem(hSummary,OleVariant(0),'Task 2');
AddBar(hChild,'Task','1/4/2011','1/6/2011','Task2',Null);
DefineSummaryBars(hSummary,'Sum',hChild,'Task2');
hChild := InsertItem(hSummary,OleVariant(0),'Task 3');
AddBar(hChild,'Task','1/6/2011','1/8/2011','Task3',Null);
DefineSummaryBars(hSummary,'Sum',hChild,'Task3');
ExpandItem[hSummary] := True;
end;
EndUpdate();
end
|
|
1329
|
How can I make an item a subitem of another one
with G2antt1 do
begin
BeginUpdate();
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Chart.PaneWidth[True] := 0;
Columns.Add('Default');
with Items do
begin
hSummary := AddItem('Project');
hChild := InsertItem(hSummary,OleVariant(0),'Task 1');
hChild := InsertItem(hSummary,OleVariant(0),'Task 2');
hChild := InsertItem(hSummary,OleVariant(0),'Task 3');
ExpandItem[hSummary] := True;
end;
EndUpdate();
end
|
|
1328
|
Is it possible to move a bar per drag and drop to another owner/item
with G2antt1 do
begin
BeginUpdate();
(IUnknown(Columns.Add('Members')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
with Chart do
begin
FirstVisibleDate := '9/20/2006';
AllowLinkBars := False;
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
AllowSelectObjects := EXG2ANTTLib_TLB.exNoSelectObjects;
LevelCount := 2;
PaneWidth[False] := 96;
Bars.Item['Task'].OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsIncludeCaption) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStack);
end;
with Items do
begin
h := AddItem('Member <b>1</b>');
AddBar(h,'Task','9/21/2006','9/23/2006','T102','Task <b>102</b>');
ItemBar[h,'T102',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'T102',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
h := AddItem('Member <b>2</b>');
h := AddItem('Member <b>3</b>');
h := AddItem('Member <b>4</b>');
AddBar(h,'Task','9/21/2006','9/23/2006','T103','Task <b>103</b>');
ItemBar[h,'T103',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
ItemBar[h,'T103',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
end;
EndUpdate();
end
|
|
1327
|
I have the chart displaying days, is it possible to display bars/tasks up to hours so inside days somehow
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
LevelCount := 2;
UnitWidth := 38;
PaneWidth[False] := 28;
FirstVisibleDate := '3/4/2011';
UnitScale := EXG2ANTTLib_TLB.exDay;
ResizeUnitScale := EXG2ANTTLib_TLB.exHour;
end;
Columns.Add('Default');
with Items do
begin
AddBar(AddItem('ASS'),'Task','3/7/2011','3/7/2011 3:30:00 AM',Null,Null);
AddBar(AddItem('EMB'),'Task','3/7/2011 3:30:00 AM','3/8/2011 9:15:00 AM',Null,Null);
AddBar(AddItem('TES'),'Task','3/8/2011 9:15:00 AM','3/8/2011 1:45:00 PM',Null,Null);
end;
EndUpdate();
end
|
|
1326
|
Is it possible to limit the height of the item while resizing
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
Items.ItemMinHeight[Item] := 18;
Items.ItemMaxHeight[Item] := 72;
end
end;
with G2antt1 do
begin
BeginUpdate();
ItemsAllowSizing := EXG2ANTTLib_TLB.exResizeItem;
ScrollBySingleLine := False;
BackColorAlternate := RGB(240,240,240);
Columns.Add('Names');
with Items do
begin
AddItem('Mantel');
AddItem('Mechanik');
AddItem('Motor');
AddItem('Murks');
AddItem('Märchen');
AddItem('Möhren');
AddItem('Mühle');
end;
Columns.Item[OleVariant(0)].SortOrder := EXG2ANTTLib_TLB.SortAscending;
EndUpdate();
end
|
|
1325
|
Is it possible to copy the hierarchy of the control using the GetItems method
with G2antt1 do
begin
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Columns.Add('Def');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
PutItems(GetItems(OleVariant(-1)),Null);
end
|
|
1324
|
I have found a property ReadOnly but this doesn't work correctly. I need the chart part of the control to be readonly too. Is it possible
with G2antt1 do
begin
ReadOnly := EXG2ANTTLib_TLB.exReadOnly;
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
BarsAllowSizing := False;
AllowLinkBars := False;
end;
end
|
|
1323
|
How can I select a column
// MouseDown event - Occurs when the user presses a mouse button.
procedure TForm1.G2antt1MouseDown(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
with G2antt1 do
begin
BeginUpdate();
Columns.Item[OleVariant(G2antt1.ColumnFromPoint[X,Y])].Selected := True;
Items.SelectAll();
EndUpdate();
end
end;
with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
SingleSel := False;
FullRowSelect := EXG2ANTTLib_TLB.exRectSel;
SortOnClick := EXG2ANTTLib_TLB.exNoSort;
with Columns do
begin
Add('Column1');
Add('Column2');
end;
with Items do
begin
CellValue[OleVariant(AddItem('One')),OleVariant(1)] := 'One';
CellValue[OleVariant(AddItem('Two')),OleVariant(1)] := 'Two';
end;
EndUpdate();
end
|
|
1322
|
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Item')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
Filter := 'Child 1';
FilterType := EXG2ANTTLib_TLB.exFilter;
end;
with (IUnknown(Columns.Add('Date')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox) Or Integer(EXG2ANTTLib_TLB.exNoItems);
Filter := '12/28/2010';
FilterType := EXG2ANTTLib_TLB.exDate;
end;
FilterCriteria := '%0 or %1';
Description[EXG2ANTTLib_TLB.exFilterBarOr] := '<font ;18><fgcolor=FF0000>or</fgcolor></font>';
Description[EXG2ANTTLib_TLB.exFilterBarAnd] := '<font ;18><fgcolor=FF0000>and</fgcolor></font>';
with Items do
begin
h := AddItem('Root 1');
CellValue[OleVariant(InsertItem(h,Null,'Child 1')),OleVariant(1)] := '12/27/2010';
CellValue[OleVariant(InsertItem(h,Null,'Child 2')),OleVariant(1)] := '12/28/2010';
ExpandItem[h] := True;
h := AddItem('Root 2');
CellValue[OleVariant(InsertItem(h,Null,'Child 1')),OleVariant(1)] := '12/29/2010';
CellValue[OleVariant(InsertItem(h,Null,'Child 2')),OleVariant(1)] := '12/30/2010';
end;
ApplyFilter();
EndUpdate();
end
|
|
1321
|
Is it possible exclude the dates being selected in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('Date')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := False;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox) Or Integer(EXG2ANTTLib_TLB.exNoItems);
end;
with Items do
begin
AddItem('12/27/2010');
AddItem('12/28/2010');
AddItem('12/29/2010');
AddItem('12/30/2010');
AddItem('12/31/2010');
end;
EndUpdate();
end
|
|
1320
|
How can I display a calendar control inside the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('Date')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := False;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox) Or Integer(EXG2ANTTLib_TLB.exNoItems);
end;
with Items do
begin
AddItem('12/27/2010');
AddItem('12/28/2010');
AddItem('12/29/2010');
AddItem('12/30/2010');
AddItem('12/31/2010');
end;
EndUpdate();
end
|
|
1319
|
Is it possible to include the dates as checkb-boxes in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('Dates')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := True;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox);
Filter := 'to 12/27/2010';
FilterType := EXG2ANTTLib_TLB.exDate;
end;
with Items do
begin
AddItem('12/27/2010');
AddItem('12/28/2010');
AddItem('12/29/2010');
AddItem('12/30/2010');
AddItem('12/31/2010');
end;
ApplyFilter();
EndUpdate();
end
|
|
1318
|
How can I filter items for dates before a specified date
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('Dates')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := True;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exNoItems);
Filter := 'to 12/27/2010';
FilterType := EXG2ANTTLib_TLB.exDate;
end;
with Items do
begin
AddItem('12/27/2010');
AddItem('12/28/2010');
AddItem('12/29/2010');
AddItem('12/30/2010');
AddItem('12/31/2010');
end;
ApplyFilter();
EndUpdate();
end
|
|
1317
|
Is it possible to filter dates
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with (IUnknown(Columns.Add('Dates')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortDate;
DisplayFilterButton := True;
DisplayFilterPattern := True;
DisplayFilterDate := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exNoItems);
end;
with Items do
begin
AddItem('12/27/2010');
AddItem('12/28/2010');
AddItem('12/29/2010');
AddItem('12/30/2010');
AddItem('12/31/2010');
end;
EndUpdate();
end
|
|
1316
|
Is it possible to change the Exclude field name to something different, in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Description[EXG2ANTTLib_TLB.exFilterBarExclude] := 'Leaving out';
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
end;
EndUpdate();
end
|
|
1315
|
How can I display the Exclude field in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
end;
EndUpdate();
end
|
|
1314
|
Is it possible to show and ensure the focused item from the control, in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXG2ANTTLib_TLB.exShowFocusItem) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
SelectItem[InsertItem(h,Null,'Child 2')] := True;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
|
1313
|
Is it possible to show only blanks items with no listed items from the control
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXG2ANTTLib_TLB.exShowBlanks) Or Integer(EXG2ANTTLib_TLB.exNoItems);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1312
|
How can I include the blanks items in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := Integer(EXG2ANTTLib_TLB.exShowBlanks) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1311
|
How can I select multiple items in the drop down filter window, using check-boxes
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := EXG2ANTTLib_TLB.exShowCheckBox;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1310
|
Is it possible to allow a single item being selected in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
FilterList := EXG2ANTTLib_TLB.exSingleSel;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1309
|
How can I display no (All) item in the drop down filter window
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Description[EXG2ANTTLib_TLB.exFilterBarAll] := '';
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := True;
FilterList := EXG2ANTTLib_TLB.exNoItems;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1308
|
Is it possible to display no items in the drop down filter window, so only the pattern is visible
with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := True;
FilterList := EXG2ANTTLib_TLB.exNoItems;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|
|
1307
|
How can I specify the time-scale available when zoom-in/zoom-out or enlarging the chart
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
ShowNonworkingDates := False;
LevelCount := 3;
UnitScale := EXG2ANTTLib_TLB.exDay;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
Label[EXG2ANTTLib_TLB.exHour] := '';
Label[EXG2ANTTLib_TLB.exMinute] := '';
Label[EXG2ANTTLib_TLB.exSecond] := '';
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem('Task B'),'Task','1/6/2001','1/10/2001','K1',Null);
AddBar(AddItem('Task C'),'Task','1/10/2001','1/14/2001','K1',Null);
AddBar(AddItem(''),'','1/8/2001','1/8/2001','Info','Click the <b>middle</b> mouse button and start dragging');
end;
EndUpdate();
end
|
|
1306
|
How can I enable zoom-in/zoom-out or enlarging the chart, using the mouse middle button
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
ShowNonworkingDates := False;
LevelCount := 3;
UnitScale := EXG2ANTTLib_TLB.exDay;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem('Task B'),'Task','1/6/2001','1/10/2001','K1',Null);
AddBar(AddItem('Task C'),'Task','1/10/2001','1/14/2001','K1',Null);
AddBar(AddItem(''),'','1/8/2001','1/8/2001','Info','Click the <b>middle</b> mouse button and start dragging');
end;
EndUpdate();
end
|
|
1305
|
How can I enable zoom-in/zoom-out or enlarging, using the chart's header

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
ShowNonworkingDates := False;
LevelCount := 3;
UnitScale := EXG2ANTTLib_TLB.exDay;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem('Task B'),'Task','1/6/2001','1/10/2001','K1',Null);
AddBar(AddItem('Task C'),'Task','1/10/2001','1/14/2001','K1',Null);
end;
EndUpdate();
end
|
|
1304
|
How can I enable resizing the chart, using the mouse middle button
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
ShowNonworkingDates := False;
LevelCount := 3;
UnitScale := EXG2ANTTLib_TLB.exDay;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
MaxUnitWidth := 128;
MinUnitWidth := 8;
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem('Task B'),'Task','1/6/2001','1/10/2001','K1',Null);
AddBar(AddItem('Task C'),'Task','1/10/2001','1/14/2001','K1',Null);
AddBar(AddItem(''),'','1/8/2001','1/8/2001','Info','Click the <b>middle</b> mouse button and start dragging');
end;
EndUpdate();
end
|
|
1303
|
How can I enable resizing the chart, using the chart's header
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
ShowNonworkingDates := False;
LevelCount := 3;
UnitScale := EXG2ANTTLib_TLB.exDay;
AllowResizeChart := EXG2ANTTLib_TLB.exAllowResizeChartHeader;
MaxUnitWidth := 128;
MinUnitWidth := 8;
end;
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/6/2001','K1',Null);
AddBar(AddItem('Task B'),'Task','1/6/2001','1/10/2001','K1',Null);
AddBar(AddItem('Task C'),'Task','1/10/2001','1/14/2001','K1',Null);
end;
EndUpdate();
end
|
|
1302
|
Is it possible to auto-numbering the children items but still keeps the position after filtering

with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterType := EXG2ANTTLib_TLB.exFilter;
Filter := 'Child 2';
end;
with (IUnknown(Columns.Add('Pos.1')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 ropos ''''';
Position := 0;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.2')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 ropos '':''';
Position := 1;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.3')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 ropos '':|A-Z''';
Position := 2;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.4')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 ropos ''|A-Z|''';
Position := 3;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.5')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '''<font Tahoma;7>'' + 1 ropos ''-<b>||A-Z''';
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
Position := 4;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.6')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '''<b>''+ 1 ropos ''</b>:<fgcolor=FF0000>|A-Z|''';
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
Position := 5;
Width := 48;
AllowSizing := False;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
ApplyFilter();
EndUpdate();
end
|
|
1301
|
Is it possible to auto-numbering the children items too

with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
Columns.Add('Items');
with (IUnknown(Columns.Add('Pos.1')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 rpos ''''';
Position := 0;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.2')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 rpos '':''';
Position := 1;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.3')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 rpos '':|A-Z''';
Position := 2;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.4')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 rpos ''|A-Z|''';
Position := 3;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.5')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '''<font Tahoma;7>'' + 1 rpos ''-<b>||A-Z''';
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
Position := 4;
Width := 32;
AllowSizing := False;
end;
with (IUnknown(Columns.Add('Pos.6')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '''<b>''+ 1 rpos ''</b>:<fgcolor=FF0000>|A-Z|''';
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
Position := 5;
Width := 48;
AllowSizing := False;
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
EndUpdate();
end
|